	/*
 * Copyright (c) 2009 Nokia Corporation
 */

#ifndef QXSREXAMPLE_H
#define QXSREXAMPLE_H

#include <QtGui/QMainWindow>
#include <QtGui/QScrollArea>
#include <QtGui/QFrame>
#include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QGroupBox>
#include <QtGui/QFormLayout>
#include <QtGui/QMessageBox>

#include <QtCore/QPointer>
#include <QtCore/QFile>
#include <QtCore/QIODevice>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>

#include <QtXml/QXmlStreamReader>

class QXSRExample : public QMainWindow
{
    Q_OBJECT

public:
    QXSRExample(QWidget *parent = 0);
    ~QXSRExample();

private slots:
    void parseXML();

private:
    QPointer<QVBoxLayout> _layout;

    void setupUI();

    QMap<QString, QString> parsePerson(QXmlStreamReader& xml);
    void addElementDataToMap(QXmlStreamReader& xml,
                             QMap<QString, QString>& map) const;

    void addPersonsToUI(QList< QMap<QString,QString> >& persons);
};

#endif // QXSREXAMPLE_H
